// 函数的参数也可可以用解构赋值
function add([x, y]){
    return x + y;
  }
  
  add([1, 2]); // 3
  [[1, 2], [3, 4]].map(([a, b]) => a + b);
//   function move({x = 0, y = 0} = {}) {
//     return [x, y];
//   }
//   // 函数move的参数是一个对象，通过对这个对象进行解构，得到变量x和y的值。如果解构失败，x和y等于默认值
//   move({x: 3, y: 8}); // [3, 8]
//   move({x: 3}); // [3, 0]
//   move({}); // [0, 0]
//   move(); // [0, 0]
// 通过对这个对象进行解构，得到变量x和y的值。如果解构失败，x和y等于默认值
function move({x, y} = { x: 0, y: 0 }) {
    return [x, y];
  }
  
  move({x: 3, y: 8}); // [3, 8]
  move({x: 3}); // [3, undefined]
  move({}); // [undefined, undefined]
  move(); // [0, 0]
  let arr = [1,2,3,4,5] ;
  console.log(arr.map((a,b,c)=>{
console.log(a,b,c);
  }))
  [1, undefined, 3].map((x = 'yes') => x);